1.1 Sensitivity Analysis
============================
.. code:: ipython3
from bokeh.io import output_notebook
output_notebook()
.. raw:: html
.. code:: ipython3
from cameo import models
from marsi.cobra.flux_analysis import sensitivity_analysis
.. code:: ipython3
model = models.bigg.iJO1366
Sensitivity analysis for L-Serine
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this example, the ammount of produced serine is increased in steps.
The biomass production will decrease with increased accumulation of
Serine. This is a scenario where an metabolite analog would compete with
Serine and the cell needs to increase the production of Serine to
compete for biomass production and enzyme activity.
.. code:: ipython3
ser__L = model.metabolites.ser__L_c
.. code:: ipython3
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
.. code:: ipython3
result.data_frame
.. raw:: html
|
fraction |
ser__L |
BIOMASS_Ec_iJO1366_core_53p95M |
0 |
0.00 |
0.000000 |
0.982372 |
1 |
0.11 |
2.327074 |
0.879966 |
2 |
0.22 |
4.654149 |
0.776675 |
3 |
0.33 |
6.981223 |
0.673384 |
4 |
0.44 |
9.308298 |
0.567309 |
5 |
0.55 |
11.635373 |
0.459727 |
6 |
0.66 |
13.962447 |
0.352145 |
7 |
0.77 |
16.289522 |
0.244563 |
8 |
0.88 |
18.616597 |
0.129905 |
9 |
0.99 |
20.943671 |
0.010895 |
.. code:: ipython3
result.plot(width=700, height=500)
.. raw:: html
We can also see how does this affects other variables.
.. code:: ipython3
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10,
variables=[model.reactions.SERAT, model.reactions.SUCOAS],
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
.. code:: ipython3
result.data_frame
.. raw:: html
|
fraction |
ser__L |
BIOMASS_Ec_iJO1366_core_53p95M |
SERAT |
SUCOAS |
0 |
0.00 |
0.000000 |
0.982372 |
0.243502 |
-3.285931 |
1 |
0.11 |
2.327074 |
0.879966 |
0.218119 |
-2.187337 |
2 |
0.22 |
4.654149 |
0.776675 |
0.192516 |
-1.107405 |
3 |
0.33 |
6.981223 |
0.673384 |
0.166913 |
-0.027474 |
4 |
0.44 |
9.308298 |
0.567309 |
0.140620 |
0.297758 |
5 |
0.55 |
11.635373 |
0.459727 |
0.113953 |
0.241292 |
6 |
0.66 |
13.962447 |
0.352145 |
0.087286 |
0.184826 |
7 |
0.77 |
16.289522 |
0.244563 |
0.060619 |
0.000000 |
8 |
0.88 |
18.616597 |
0.129905 |
0.032200 |
0.068182 |
9 |
0.99 |
20.943671 |
0.010895 |
0.002701 |
0.005718 |
.. code:: ipython3
result.plot(width=700, height=500)
.. raw:: html
The same analysis can be done with different simulation methods (e.g.
lMOMA).
.. code:: ipython3
from cameo.flux_analysis.simulation import lmoma
.. code:: ipython3
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10, simulation_method=lmoma,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
.. code:: ipython3
result.plot(width=700, height=500)
.. raw:: html
Sensitivity analysis for Pyruvate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this example, the pyruvate of succinate is decreased. This is a
scenario where the cells are evolved with a toxic compound and the
consumption turnover of that compound decreases.
.. code:: ipython3
pyr = model.metabolites.pyr_c
.. code:: ipython3
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
.. code:: ipython3
result.plot(width=700, height=500)
.. raw:: html
.. code:: ipython3
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10, simulation_method=lmoma,
biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)
.. code:: ipython3
result.data_frame
.. raw:: html
|
fraction |
pyr |
BIOMASS_Ec_iJO1366_core_53p95M |
0 |
0.00 |
0.000000 |
0.982372 |
1 |
0.11 |
0.153405 |
0.908226 |
2 |
0.22 |
0.365068 |
0.831883 |
3 |
0.33 |
0.523172 |
0.754858 |
4 |
0.44 |
0.681276 |
0.677833 |
5 |
0.55 |
0.839380 |
0.600808 |
6 |
0.66 |
0.997485 |
0.523783 |
7 |
0.77 |
1.155566 |
0.446758 |
8 |
0.88 |
1.008145 |
0.359887 |
9 |
0.99 |
1.533426 |
0.036982 |